home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / btrieve / tba002.txt < prev    next >
Text File  |  1993-06-17  |  6KB  |  99 lines

  1. Technical Bulletin==================
  2. Title:             Using Microsoft Access with Btrieve Files
  3. Document ID:     TB.A.0002
  4. Date:             May 5, 1993
  5. Product:         Btrieve
  6. Product Version: v5.x
  7. Supersedes:     N/A
  8. Symptom:     See below.
  9. The Data Dictionary-------------------
  10. Microsoft Access can access (read or modify) a Btrieve file only 
  11. through that file's data dictionary. A data dictionary is a set of
  12. files that define fields for each record of a Btrieve file. To
  13. produce the data dictionary files (DDFs) for a Btrieve file, you must
  14. know the starting offset, length, and type of each portion of a
  15. file's records that corresponds to a field. You can then use NetWare
  16. SQL, Xtrieve PLUS, or a similar product to define the DDFs for that
  17. Btrieve file. Access cannot create DDFs for a Btrieve file.
  18. File Owner Names----------------
  19. Access opens DDFs with the Novell default DDF owner name; therefore,
  20. if security is defined on a set of DDFs, Access cannot read the DDFs.
  21. In this situation, Access returns the error Couldn't Decrypt File.
  22. If a Btrieve file has an owner name, but does not require you to 
  23. specify the name in order to read the file (level 1 or 3), Access
  24. does not prompt you for the owner name. Although Access can read the
  25. data from the file, attempting to edit the file's data causes Access
  26. to return the following error: Couldn't update; database is
  27. read-only.
  28. If a Btrieve file has an owner name, and that file requires that you 
  29. specify the owner name in order to read or modify the file (level 0 
  30. or 2), Access prompts you for the owner name. If you are using 
  31. Btrieve v5.x, Access opens the file for normal use after you specify
  32. the owner name. However, if you are using Btrieve v6.x, Access cannot
  33. open the file even after you specify the owner name. Instead, Access
  34. returns the error Couldn't Decrypt File. This error occurs because
  35. Btrieve v6.x requires that the data buffer length be set to the
  36. length of the owner name plus the null terminator on an Open
  37. operation. Access sets the data buffer length only to the length of
  38. the owner name.
  39. Tables and the Btrieve File Format----------------------------------
  40. Access can create a Btrieve file and define it to a set of DDFs that 
  41. have been previously defined by Xtrieve PLUS, NetWare SQL, or a 
  42. similar application. Access refers to this action as exporting a
  43. table in Btrieve format.
  44. When exporting a table in Btrieve format, Access always adds the 
  45. 4-byte integer field 'M_I_C_R_O_S_O_F_T' as the first field of the 
  46. table. Access also makes this field the only index in the table.
  47. Access translates its own data types into specific Btrieve data types
  48. when it exports a table in Btrieve format. The following list shows 
  49. the data types that result when Access exports data to a Btrieve DDF 
  50. file. 
  51.            Access Data Type          DDF Data Type
  52.            ================          =============
  53.            Text                      string
  54.            Number                    float
  55.            Date/Time                 date
  56.            Currency                  money
  57.            Counter                   integer
  58.            Yes/No                    logical
  59.            Memo                      note
  60.            OLE Object                lvar
  61. You can use Access to read a Btrieve file's format from one set of 
  62. DDFs and then export the table for that Btrieve file to another set
  63. of DDFs. You can also use Access to join, query, or update the tables
  64. for Btrieve files that are defined in different sets of DDFs. 
  65. Access allows you to join Btrieve-based tables to tables that use 
  66. other formats (such as Access, Paradox, or dBASE IV). However, you 
  67. cannot export the data from such a joined view or restricted query to
  68. a Btrieve file. You can export only single unrestricted tables to 
  69. Btrieve format.
  70. Transaction Processing----------------------
  71. Access operations occur mainly inside transactions; therefore, you 
  72. must configure Btrieve for transaction processing.
  73. Btrieve for Windows-------------------
  74. WBTRCALL.DLL, the Btrieve for Windows DLL, is no longer packaged with
  75. Access. You can purchase this DLL from Novell in the Btrieve for
  76. Windows Developer's Kit.
  77. The Requester version of this DLL is available from CompuServe in the
  78. NOVLIB forum, in Lib7, in the file BTRREQ.ZIP. You can use this 
  79. Requester with Access to access Btrieve files that reside on a 
  80. NetWare v2.x, v3.x, or v4.0 server running the Btrieve engine. For 
  81. information about how to install the Btrieve engine packaged with 
  82. your version of NetWare, see the Btrieve Installation and Operation 
  83. manual included in the NetWare documentation.
  84. Access returns error -5001 if you are using the Btrieve v6.x
  85. Requester and WBTRVRES.DLL is not available in your path. Access also
  86. returns error -5001 whenever it receives a Btrieve status code that
  87. it has not been programmed to handle. Most of these Btrieve status
  88. codes are greater than 90.
  89. Access can also return the error Disk or Network Error.  This error
  90. occurs if Access tries to read a Btrieve file's associated DDFs using
  91. a pre-v6.x version of WBTRCALL.DLL, but the DDFs have been created by
  92. Xtrieve PLUS, NetWare SQL, or other application that used Btrieve
  93. v6.x to create those DDFs. This error resembles Btrieve Status Code
  94. 2, which Btrieve returns when an application attempts to access a
  95. v6.x-formatted file with a client (v5.x) engine. To solve this
  96. problem, either run the Btrieve v6.x NLM with the v6.x version of
  97. BREQUEST or WBTRCALL.DLL, or make sure that all files accessed with
  98. the client WBTRCALL.DLL are stored in v5.x format. 
  99.